Software Component Design-for-reuse: a Language-independent Discipline Applied

نویسنده

  • Benjamin Cummings
چکیده

Software engineers often espouse the importance of using abstraction and encapsulation in developing software components. They advocate the \layering" of new components on top of existing components, using only information about the functionality and interfaces provided by the existing components. This layering approach is in contrast to a \direct implementation" of new components, utilizing unencapsulated access to the representation data structures and code present in the existing components. However, there is no empirical evidence that indicates whether the layering approach improves the productivity or quality of the development activity. We discuss three controlled experiments designed to gather such empirical evidence. The results support the contention that layering signi cantly reduces the e ort required to build new components. Furthermore, the quality of the components, in terms of the number of defects introduced during their development, is at least as good using the layered approach. We also discuss some interesting issues related to the statistical analysis of experiments such as these.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Study of Factors Affecting the Design and Use of Reusable Components

Design for Reuse: Designing and building components to be reusable is a key area in software reuse research. Practitioners and researchers need to address the problem of how to build reusable components. We will study design principles that can be applied to make components reusable. These design principles are language and domain independent. With an empirical study we will identify the most c...

متن کامل

Reuse Design Principles

Though many reuse design principles have been proposed, there is no generally accepted list which are independent of programming language and domain. This paper provides a generic list of reuse design principles for component based software development based on a preliminary analysis of the literature of software reuse and reuse design over the past few decades. Such a list is new because the r...

متن کامل

Programming Language Abstractions for Extensible Software Components

With the growing demand for software systems that can cope with an increasing range of information processing tasks, the reuse of code from existing systems is essential to reduce the production costs of systems as well as the time to manufacture new software applications. For this reason, component-based software development techniques gain increasing attention in industry and research. Compon...

متن کامل

Domain-Driven Reuse of Software Design Models1

This chapter presents an approach to software development where model driven development and software reuse facilities are combined in a natural way. The basis for all of this is a semiformal requirements language RSL. The requirements in RSL consist of use cases refined by scenarios in a simple controlled natural language and the domain vocabulary containing the domain concepts. The chapter sh...

متن کامل

A Reusable Component Architecture for Agent Construction

A generic Java based component architecture JAF is proposed as a basis for designing the agents used within multi agent systems The goal of this design is to facilitate code reuse and simplify agent construction by building up a pool of components which can be easily combined in dif ferent ways to produce agents with di erent capabilities JAF builds upon general component models by adding ad di...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994